Dominator Trees and Fast Verification of Proof Nets
نویسندگان
چکیده
We consider the following decision problems: PROOFNET : Given a multiplicative linear logic (MLL) proof structure, is it a proof net? ESSNET : Given an essential net (of an intuitionistic MLL sequent), is it correct? In this paper we show that linear-time algorithms for ESSNET can be obtained by constructing the dominator tree of the input essential net. As a corollary, by showing that PROOFNET is linear-time reducible to ESSNET (by the trip translation), we obtain a linear-time algorithm for PROOFNET. We show further that these linear-time algorithms can be optimized to simple one-pass algorithms – each node of the input structure is visited at most once. As another application of dominator trees, we obtain lineartime algorithms for sequentializing proof nets (i.e. given a proof net, find a derivation for the underlying MLL sequent) and essential nets.
منابع مشابه
Dominator Tree Certification and Independent Spanning Trees
How does one verify that the output of a complicated program is correct? One can formally prove that the program is correct, but this may be beyond the power of existing methods. Alternatively one can check that the output produced for a particular input satisfies the desired input-output relation, by running a checker on the input-output pair. Then one only needs to prove the correctness of th...
متن کاملDominators in Directed Graphs: A Survey of Recent Results, Applications, and Open Problems
The computation of dominators is a central tool in program optimization and code generation, and it has applications in other diverse areas including constraint programming, circuit testing, and biology. In this paper we survey recent results, applications, and open problems related to the notion of dominators in directed graphs, including dominator verification and certification, computing ind...
متن کاملSwinging Types At Work
We present a number of swinging specifications with visible and/or hidden components, such as lists, sets, bags, maps, monads, streams, trees, graphs, processes, nets, classes, languages, parsers,... They provide more or less worked-out case studies and shall allow the reader to figure out the integrative power of the swinging type approach with respect to various specification and proof formal...
متن کاملMechanized Verification of Computing Dominators for Formalizing Compilers
One prerequisite to the formal verification of modern compilers is to formalize computing dominators, which enable SSA forms, advanced optimizations, and analysis. This paper provides an abstract specification of dominance analysis that is sufficient for formalizing modern compilers; it describes a certified implementation and instance of the specification that is simple to design and reason ab...
متن کاملLexicalized Proof-Nets and TAGs
First introduced by [Ret93], pomset linear logic can deal with linguistic aspects by inducing a partial order on words. [LR95] uses this property: it defines modules (or partial proof-nets) which consist in entries for words, describing both the category of the word and its behavior when interacting with other words. Then the natural question of comparing the generative power of such grammars w...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000